package com.cdvtc.news.dao;


import com.cdvtc.news.entity.Tag;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

@Mapper
public interface TagDao {
    /**
     * 获取所有标签
     * @return
     */
    List<Tag> getAllTags();

    /**
     * 根据新闻编号获取标签集合
     * @param newsId
     * @return
     */
    Set<Tag> getTagsByNewsId(@Param("newsId") int newsId);

    /**
     *判断新闻-标签是否存在
     * @param newsId
     * @param tagId
     * @return
     */
    boolean isNewsTagExisted(@Param("newsId") Integer newsId, @Param("tagId") Integer tagId);

    /**
     * 为新闻添加标签
     * @param newsId
     * @param tagId
     */
    void addTagForNews(@Param("newsId") int newsId, @Param("tagId") Integer tagId);

    /**
     * 更新新闻标签
     * @param newsId
     */
    void deleteTagsForNews(@Param("newsId") int newsId);
}
